using System.Collections.Generic;

namespace PascalsTriangle
{
    public class Solution
    {
        public IList<IList<int>> Generate(int numRows)
        {
            IList<IList<int>> triangle = new List<IList<int>>();

            for (var i = 0; i < numRows; i++)
            {
                triangle.Add(new List<int> {1});

                for (var j = 1; j < i + 1; j++)
                {
                    if (j == i)
                    {
                        triangle[i].Add(1);
                    }
                    else
                    {
                        triangle[i].Add(triangle[i - 1][j - 1] + triangle[i - 1][j]);
                    }
                }
            }

            return triangle;
        }
    }
}